Data synchronization strives to obtain consistency of data between two or more data storage locations, such as source and target data storage locations. For example, when a state of data is changed in the source data storage location, data synchronization may harmonize the data state change with the target data storage location (e.g., and vice versa). Data synchronization is often used for file synchronization, such as for enterprise-based storage, and mobile device synchronization, such as for exchange server data. Further, data synchronization may occur between a variety of data storage containers, such as blocks of memory, folders, files, storage locations, data bases, and others.